package com.company;

import com.company.service.Compute;
import com.company.service.Graph;
import com.company.service.impl.compute.*;
import com.company.service.impl.graph.Circular;
import com.company.service.impl.graph.Triangle;

import java.util.Scanner;

public class Task4 {
    public static void main(String[] args) {
        //todo 4. 结合 static 和 final 关键字，利用接口做参数，写个计算器，能完成+-*/运算
        // （1）定义一个接口Compute含有一个方法int computer(int n,int m);
        // （2）设计四个类分别实现此接口，完成+-*/运算
        // （3）设计一个类UseCompute，含有方法：public void useCom(Compute com, int one, int two)
        //     此方法要求能够：
        //     1．用传递过来的对象调用computer方法完成运算
        //     2．输出运算的结果
        // （4）设计一个测试类，调用UseCompute中的方法useCom来完成+-*/运算
        UseCompute useCompute = new UseCompute();
        int games = 1;
        while (games > 0) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("欢迎进入计算器程序，计算请按1，退出请按0");
            games = Integer.parseInt(scanner.next());
            if (games == 0) {
                break;
            }

            System.out.println("请输入第一个数：");
            int one = Integer.parseInt(scanner.next());
            System.out.println("请输入第二个数：");
            int two = Integer.parseInt(scanner.next());
            System.out.println("请输入要做的算法：+-*/");
            String com = scanner.next();
            Compute compute;
            if (com.equals("+")) {
                compute = new Add();
            } else if (com.equals("-")) {
                compute = new Sub();
            } else if (com.equals("*")) {
                compute = new Mul();
            } else {
                compute = new Div();
            }

            useCompute.useCom(compute, one, two);
        }

    }
}
